home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
data
/
nyan_e2
/
nyane2kx.plt
< prev
next >
Wrap
Text File
|
1993-11-30
|
12KB
|
541 lines
/* NiftY serve Auto Navigator/Extension^2 (NYAN/E2) v1.04a */
/* All Right Reserved, Copyright(c) モップ(NIFTY/PFF00570) 1991 */
/* All Right Reserved, Copyright(c) すけるとん☆(NIFTY/NBE00503) 1991-1992 */
/* All Right Reserved, Copyright(c) 氷面鏡(NIFTY/GEG01261) 1992-1993 */
/* All Right Reserved, Copyright(c) KAN.(NIFTY/GEE00765) 1993 */
/* All Right Reserved, Copyright(c) なため (NIFTY/GFC02301) 1993 */
%memomax {500}; /* memo間で転送する最大行数 */
var modem[40];
var telno[30];
var telty[10];
var telno2[30];
var telty2[10];
var telno3[30];
var telty3[10];
var line[5];
var id[10];
var pass[10];
var logd[30];
var logc1[30];
var logc2[8];
var logh1[30];
var logm1[30];
var logb1[30];
var logb2[8];
var loga1[30];
var loga2[8];
var forum[500];
var hp[500];
var proc[5];
var st[5];
var Treq[10];
var Mode[4];
var Rmail[10];
var Smail[10];
var mail[3];
var FmgrP[30];
var FmgrF[15];
var SetupF[15];
var Itime[6];
var MesType[3];
var logl[30];
var logf[30];
var originalplt[4];
var lib[600];
var BILL[3];
var Handle[500];
var DivDisp[4];
var InsHan[5];
var LIST[5];
var patio[200];
var GUEST[3];
var WTIME[6];
var PRINTER[5];
var rtn[700];
var cugname[8];
var tmpdir[30];
var R[3];
var G[3];
var B[3];
%mrgsuff {.ALL};
/********** 共通の処理ルーチン **********/
%Bell{
/*visibell({Yes});*/
display(@xc({07}));
};
%setcdir2 {[dir]
%dir2 @case(@nochar(dir),
2,{im(dir|{\})},,{im(dir)});
setcdir(dir2);
};
%getcdir2 {
case(@nochar(@getcdir),
3,{im(@getchar(@getcdir,1,2));
},,{im(@getcdir);
});
};
%mkdir2{[path]
var drive[2];
var tardir[80];
var tarpath[80];
var ret[4];
drive:=@head(path,{:});
tardir:=@body(path,{\});
case(@setcdir2(drive|{:}),
{Yes},{
tarpath:=drive|{:};
loop({
tarpath:=tarpath|{\}|@head(tardir,{\});
tardir:=@body(tardir,{\});
case(@setcdir2(tarpath),{No},{
command({mkdir }|tarpath);
});
im(tardir<>{});
});
ret:={Yes};
},{No},{
/* select({ 「}|drive|{」ドライブは使えません},5,,{ 確認 });*/
ret:={No};
});
im(ret);
};
%mkdir{[dir,name]
dispoff({Yes});
case(@setcdir2(dir),
{Yes}, {command({mkdir }|name);
},{No},{case(@mkdir2(dir),
{Yes},{
setcdir2(dir);
command({mkdir }|name);
},{No},{
select({ 「}|@head(dir,{:})|{」ドライブは使えません},
30,{stop;
},{ もう一回やってみる },{mkdir(dir,name);
},{ 自動処理をやめる },{stop;
},{ 無視して先の処理をやる },{
});
});
});
dispoff({No});
};
%CloseAllMemo{
case(@mcheck!=0,{Yes},{
loop({ mclose(2);
im(@mcheck!=0)
});
});
};
%OutAllMemo{
case(@mcheck!=0,{Yes},{mclose(1)});
};
%PFK{[pfkno]
case(pfkno>200,{Yes},{im(pfkno-100)},{No},{im(pfkno)});
};
%check{[NUM]
case(@mcheck,0,{mopen(NUM)});
};
%mergefile{[OldName,NewName]
var Buffer[80];
%MrgLog {)merge(.$$$};
%path @body(NewName,,{\});
%Newfile @tail(NewName,{\});
%Bakfile @head(Newfile,{.})|{.bak};
%BakName path|{\}|Bakfile;
%oldpath @getcdir2;
setcdir2(path);
dispoff({Yes});
case(@filechk(MrgLog),{Yes},{delfile(MrgLog)});
case(@filechk(Newfile),
{Yes}, {command({ren }|Newfile|{ }|Bakfile);
command({copy }|Bakfile|{/B+}|OldName|{/B }|
Newfile|{>}|MrgLog);
Buffer:=@read(MrgLog,3,1);
},{No},{command({copy }|OldName|{ }|Newfile|{>}|MrgLog);
Buffer:=@read(MrgLog,1,1);
});
footnote(@head(Buffer,{\n}));
delfile(MrgLog);
case(@getchar(Buffer,9,31)={1 個のファイルをコピーしました.},
{Yes},{ delfile(Bakfile);
delfile(OldName);
},{No},{delfile(Newfile);
command({ren }|Bakfile|{ }|Newfile);
});
setcdir2(oldpath);
dispoff({No});
};
%ChkFname{[Fname]
var WkDrive[2];
var WkFname[80];
var ptr[2];
case(@getchar(Fname,2,1)={:},
{Yes},{ WkDrive:=@getchar(Fname,1,2); ptr:=3;
}, ,{ WkDrive:={}; ptr:=1;
});
WkFname:={};
loop({
case(@getchar(Fname,ptr,1),
{-},{WkFname:=WkFname|@im({@im({-})});
},,{ WkFname:=WkFname|@getchar(Fname,ptr,1);
});
ptr:=ptr+1;
im(ptr <= @nochar(Fname))
});
im(WkDrive|WkFname);
};
%NyanInit{[dir]
case(@filechk(dir|{\MOPSET.PLP}),
{Yes}, {setcdir2(dir); #MOPSET.PLP;
case(PRINTER={},{Yes},{PRINTER:={fm}}); printer(PRINTER);
im({Yes});
},{No},{im({No});
});
};
%allclear{
loop({
case(@mlast<>0,
{Yes},{ case(@mcheck,0,{mopen(@mlast,0,21,80,62)});
mclose(3);
im({Yes});
},{No},{im({No});
});
});
};
%SelHandle{
var onehandle[40];
onehandle:={};
case(Handle<>{},{Yes},{
var handle[999];
var onetarget[10];
var mainhandle[40];
var target[10];
handle:=Handle;
target:=tardata;
mainhandle:={};
loop({
%onepair @head(handle,{,});
onetarget:=@body(onepair,,{/});
onehandle:=@tail(onepair,{/});
case(onetarget={},{Yes},{mainhandle:=onehandle});
handle:=@body(handle,{,});
im(onetarget<>target && handle<>{});
});
case(onetarget=target,{No},{onehandle:=mainhandle});
/*case(onehandle,{A},{onehandle:={ハンドルA}}
,{B},{onehandle:={ハンドルB}}
);*/
});
im(onehandle);
};
%YesNo{[MSG]
select(MSG,9999,{im({No});
},{ O K },{im({Yes});
},{ N G },{im({No});
});
};
%SetOriginalplt{
setcdir2(current);
case(@filechk({ORIGINAL.PLT}),{Yes},{
select({ ユーザー定義パイロット(ORIGINAL.PLT)を使用しますか?},
999999,{
},{ 使用する },{originalplt:={Yes};
},{ 使用しない },{
});
});
};
%ProcSet{
select({ 処理を選んでください.《SETUP FILE : }|SetupF|{》},
999999,{proc:={}},
{ 受信処理のみ行う },{proc:={Down}},
{ 送信処理のみ行う },{proc:={Up}},
{ 受信・送信処理を行う },{proc:={Both}}
);
SetOriginalplt;
};
%ProcSet2{
select({ 処理を選んでください.《SETUP FILE : }|SetupF|{》},
999999,{proc:={}},
{ 受信処理のみ行う },{proc:={Down2}},
{ 送信処理のみ行う },{proc:={Up2}},
{ 受信・送信処理を行う },{proc:={Both2}}
);
SetOriginalplt;
};
%Pause{
allclear;
chat({Yes});
loop({ footnote({再開 新メモ },{b});
loop({
waitx(9999);
im(@PFK(@xtype)<100);
});
case(@PFK(@xtype),
101,{ case(@mlast<>0,
{Yes},{ case(@YesNo({ memoを削除してよろしいですか?}),
{Yes},{ im({No});
},{No},{im({Yes});
});
},{No},{im({No});
});
},106,{ case(@mlast<9,
{Yes},{ %new @mlast+1;
CloseAllMemo;
madd(new,{});
mopen(new,0,21,639,459);
});
im({Yes});
}, ,{ im({Yes});
});
});
CloseAllMemo;
footnote({});
chat({No});
};
%koukan {[MSG]
im({ドライブを,受信}|MSG|{保存ディスクに交換してください});
};
%mm @koukan({メール});
%mh @koukan({HP});
%mc @koukan({会議室});
%mb @koukan({掲示板});
%mr {ドライブに,NYANのディスクが入っているか確認してください};
var chg[3];
%ChkDrv{[logdrv,MSG]
var a[3];
%b @getchar(logd, 1,2);
%c @getchar(current,1,2);
%d @getchar(logdrv, 1,2);
case(c=d && (d={A:} || d={B:}),
{Yes},{ display(c|MSG|{\n});
footnote({OKNG},{b});
loop({
waitx(1000);
case(@PFK(@xtype),
101,{a:={Yes}; chg:={Yes}; im({No});
},102,{a:={No}; im({No});
}, ,{a:={}; im({Yes});
});
});
im(a);
footnote({});
},{No},{im({Yes});
});
};
%ErrNyan{
loop({
select({ NYAN/Eが見つかりません.確認してください},
99999,{im({Yes});
},{ O K },{im({No});
});
});
};
%CallNyan{[nyan]
loop({
case(@setcdir2(current),
{Yes},{case(@filechk(@tail(nyan,{#})),
{Yes}, {nyan;im({No});
},{No},{ErrNyan;im({Yes});
});
},{No},{ErrNyan;im({Yes});
});
});
};
%CallExtr{[path,file]
case(@setcdir2(path),
{Yes},{ case(@filechk(@tail(file,{#})),
{Yes}, {file;
},{No},{select(file|{が見つかりません},5);
});
},{No},{
select(path|{が見つかりません},5);
});
};
/*********** MOPTERMの終了処理 **********/
%stopmop{
select({ 本当に終了して良いですか?},99999,,
{ は い },{stopterm},
{ いいえ })
};
/********** 全体のメイン処理 **********/
%current @getcdir2;
%AUTO {CallNyan({#NYANE2_A.PLP})};
%BUL {CallNyan({#NYANE2_B.PLP})};
%COMP {CallNyan({#NYANE2_C.PLP})};
%DIAL {CallNyan({#NYANE2_D.PLP})};
%EDIT {CallNyan({#NYANE2_E.PLP})};
%FILE {CallNyan({#NYANE2_F.PLP})};
%HEADER {CallNyan({#NYANE2_H.EXT})};
%KERNEL {#NYANE2KX.PLT};
%LOGMRG {CallNyan({#NYANE2_L.PLP})};
%MANUAL {CallNyan({#NYANE2_M.PLP})};
%SEMI {CallNyan({#NYANE2_N.PLP})};
%NAPDSP {CallNyan({#NYANE2_P.PLP})};
%SETUP {CallNyan({#NYANE2_S.PLP})};
%TITLE {CallNyan({#NYANE2_T.PLP})};
%UPTEXT {CallNyan({#NYANE2_U.PLP})};
%VIEW {CallNyan({#NYANE2_V.EXT})};
%WAIT {CallNyan({#NYANE2_W.PLP})};
%MKBMAIL{CallNyan({#NYANE2MB.PLP})};
%SETLIB {CallNyan({#NYANE2SL.PLP})};
%DOWNLIB{CallNyan({#NYANE2DL.PLP})};
%ARRANGE{CallNyan({#NYANE2AR.PLP})};
%RESPONCE{CallNyan({#NYANE2RE.PLP})};
%GETPROF{CallNyan({#NYANE2GP.PLP})};
%SETPROF{CallNyan({#NYANE2SP.PLP})};
%UPTEXT2{CallNyan({#NYANE2U2.PLP})};
%DELTXT {CallNyan({#NYANE2DT.PLP})};
%MOVE {CallNyan({#MOVE.PLT})};
%READ {CallNyan({#NYANE2RD.PLP})};
%EXPIRE {CallNyan({#NYANE2EX.PLP})};
footnote({});
setoak({J});
click({No});
nattou({No});
allclear;
setpf(12,{footnote({ Loading..});}
|{setcdir(}|@xc({7b})|@getcdir|@xc({7d})|{);}|KERNEL);
logd:={B:};
logl:={B:};
logf:={B:\DOWN};
case(@NyanInit(current),{No},{#SET_NYAN.PLT});
case(Itime={},{Yes},{Itime:=999999});
case(R,{},{R:=50}); case(G,{},{G:=80}); case(B,{},{B:=50});
backclr(R,G,B);
%WaitTerm{[OPT]
ProcSet;
case(proc<>{},{Yes},{
case(pass={},{Yes},{
pass:=@input({ パスワードを入力してください});
});
case(pass<>{},{Yes},{
WAIT;
case(COND,{Yes},{
Mode:={AUTO}; AUTO;
OPT;
});
});
});
im({No});
};
%COM{
var COND[4];
originalplt:={No};
loop({
setcdir2(logd);
%remain @diskrem/1024;
select({ 処理を選んでください.《LogDisk空き容量 : }|remain|{[KB]》},
999999,{im({No});
},{ 自動通信を行います },{
ProcSet;
case(proc<>{},{Yes},{ Mode:={OPER}; AUTO });
im({No});
},{ 指定時刻に自動通信を行います },{
WaitTerm({});
},{ 指定時刻に自動通信をし,MOPTERMを終了 },{
WaitTerm({
dispoff({Yes});
command({POFF});
stopterm;
});
},{ 半自動通信を行います },{
proc:={Semi}; Mode:={OPER}; AUTO; im({No});
},{ 自動通信後に半自動通信 },{
ProcSet2;
case(proc<>{},{Yes},{ Mode:={OPER}; AUTO });
im({No});
},{ 指定発言のみ取得する },{
proc:={Read}; Mode:={OPER}; AUTO; im({No});
},{ メインメニューへ戻る },{
im({No});
});
});
};
%UTY{
loop({
select({ 処理を選んでください.《SETUP FILE : }|SetupF|{》},
999999,{ im({No});
},{ ログのマージを行います },{
case(@YesNo({ ログのマージを行います. いいですか?}),
{Yes},{LOGMRG; im({No});
},{No},{
});
},{ 保存ログの圧縮/削除処理を行います },{COMP; im({No});
},{ ファイルマネージャを呼び出します },{FILE; im({No});
},{ NAPLPSデータの表示をします },{NAPDSP; im({No});
},{ 文書の編集を行います },{%kind {edi}; ARRANGE;
im({No});
},{ メインメニューへ戻る },{im({No});
});
});
};
%EXTERNAL{[P,F];
case(P<>{} && F<>{},
{Yes},{ CallExtr(P,F);
},{No},{footnote({ 実行するパイロットを選択してください});
%f @filesel({PLT});
footnote({});
case(f<>{},{Yes},{CallExtr(@getcdir,{#}|f)});
});
};
%END{
loop({
select({ 処理を選んでください.《SETUP FILE : }|SetupF|{》},
999999,{im({No});
},{ 自動処理を終了します(PF12で再起動) },{allclear; stop;
},{ MOPTERMを終了します },{stopmop;
},{ メインメニューへ戻る },{im({No});
});
});
};
loop({
select({ 処理を選んでください.《SETUP FILE : }|SetupF|{》},
999999,{ im({Yes});
},{ 通 信 },{ COM;
},{ 受信文書 },{ VIEW;
},{送受信設定},{ EDIT;
},{ 補 助 },{ UTY;
},{ 設 定 },{ SETUP;
},{ 一時停止 },{ Pause;
},{ 外部呼出 },{ EXTERNAL(FmgrP,FmgrF);
},{ 終 了 },{ END;
});
im({Yes});
});